package com.ruoyi.common.core.service;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.ruoyi.common.core.domain.dto.MessageDTO;
import com.ruoyi.common.core.domain.model.LoginUser;

/**
 * 通用 公共服务
 *
 * @author nbacheng
 * @date 2023-09-21
 */
public interface CommonService {

	/**
     * 1发送系统消息
     * @param message 使用构造器赋值参数 如果不设置category(消息类型)则默认为2 发送系统消息
     */
    void sendSysNotice(MessageDTO message) throws JsonProcessingException;

    /**
	 * 发消息
	 * @param fromUser
	 * @param toUser
	 * @param title
	 * @param msgContent
	 * @param setMsgCategory
	 */
    void sendSysNotice(Long fromUser, String toUser, String title, String msgContent, String setMsgCategory)
        throws JsonProcessingException;

    /**
     * 获取流程发送消息基地址
     * @return
     */
    String getBaseUrl();

    /**
     * 获取当前登录用户
     *
     * @return 当前登录用户信息
     */
    public LoginUser getLoginUser();
}
